package ws;
import java.util.ArrayList;
import java.util.Collection;
import org.orm.PersistentException;
import org.orm.PersistentTransaction;

import orm.CamRegPersistentManager;
import SOAPVO.ReporteSOAPVO;
import com.google.gson.Gson;
import javax.*;
public class ReporteSOA {

	
	
	public String add(String re_fecha, String re_coordenadas, String re_imagen_url, String ti_id_tipo_reporte) throws PersistentException{
		
		String mensaje="";
		String resultado;
		int resultado2=1;
		PersistentTransaction t = CamRegPersistentManager.instance().getSession().beginTransaction();
		System.out.println("entrando al primer if");
		if ( (re_fecha == null) || (re_fecha.equals("")) || (re_coordenadas == null) || (re_coordenadas.equals("")) || (re_imagen_url == null) || (re_imagen_url.equals(""))|| (ti_id_tipo_reporte == null) || (ti_id_tipo_reporte.equals(""))){
			mensaje="Ingrese todos los datos de la persona (rut, digito verificador, nombre y sexo)";
			resultado2=0;
		}
		if(resultado2==1){
			try {
				System.out.println("creando DAO");
				//Instancia factory
				orm.DAOFactory lDAOFactory = orm.DAOFactory.getDAOFactory();

				
				//objeto reporte
				orm.dao.Cam_reporteDAO lormCam_reporteDAO = lDAOFactory.getCam_reporteDAO();
				orm.Cam_reporte lormCam_reporte = lormCam_reporteDAO.createCam_reporte();
								
				//Instancia objeto orm tipo reporte
				
				orm.dao.Cam_tipo_reporteDAO lormCam_tipo_reporteDAO = lDAOFactory.getCam_tipo_reporteDAO();
				orm.Cam_tipo_reporte lormCam_tipo_reporte = lormCam_tipo_reporteDAO.loadCam_tipo_reporteByORMID(ti_id_tipo_reporte);
				
				//Set objeto orm
				System.out.println("seteando objetos");
				
				
				lormCam_reporte.setRe_fecha(re_fecha);
				lormCam_reporte.setRe_coordenadas(re_coordenadas);
				lormCam_reporte.setRe_imagen_url(re_imagen_url);
				lormCam_reporte.setTi_id_tipo_reporte(lormCam_tipo_reporte);

				
				lormCam_reporteDAO.save(lormCam_reporte);//guardar un nuevo campo
				t.commit();				

					
					//Metodo save de DAO

					
					} catch (PersistentException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
					resultado = "<FAIL>";
					t.rollback();
					}
					mensaje = "reporte ha sido agregado";

		}
	
return mensaje;
}//cierra metodo add
}//cierra clase
